// app.js
import Notify from "@vant/weapp/notify/notify";
App({
  onLaunch() {
    wx.$notify = Notify;
    this.autoUpdate();
  },

  autoUpdate() {
    const updateManager = wx.getUpdateManager(); // 获取更新管理器实例

    // 监听向微信后台请求检查更新结果事件
    updateManager.onCheckForUpdate(function (res) {
      if (res.hasUpdate) {
        // 存在新版本，会静默下载新版本
        console.log("发现新版本，开始下载");
      }
    });

    // 监听新版本下载完成事件
    updateManager.onUpdateReady(function () {
      wx.showModal({
        title: "更新提示",
        content: "新版本已经准备好，请重启应用！",
        confirmText: "立即重启",
        confirmColor: "#73F0EA",
        showCancel: false,
        success: function (res) {
          if (res.confirm) {
            // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
            updateManager.applyUpdate();
          }
        },
      });
    });

    // 监听新版本下载失败事件
    updateManager.onUpdateFailed(function () {
      wx.showModal({
        title: "更新失败",
        content: "新版本下载失败，请检查网络设置或稍后再试。",
        showCancel: false,
      });
    });
  },

  uploadImage(filePath, form = "apply") {
    return new Promise((resolve, reject) => {
      wx.uploadFile({
        url: "https://manage.youjixiaoyang.com/assist/upload",
        filePath: filePath,
        name: "image",
        formData: {
          form,
          token: wx.getStorageSync("token"), // 添加认证信息
        },
        success: (res) => {
          try {
            const data = JSON.parse(res.data);
            if (data.code === 1) {
              resolve(data.data.image_url);
            } else {
              reject(new Error(data.message || "上传失败"));
            }
          } catch (error) {
            reject(new Error("解析响应失败"));
          }
        },
        fail: (error) => {
          reject(error);
        },
      });
    });
  },

  globalData: {},
});
